home *** CD-ROM | disk | FTP | other *** search
- /*
- rxresolve: just like miamiresolve (and maybe more)
-
- Usage: rxresolve <host>
- rxresolve -s <servicename>
- */
-
- parse arg host "-s" serv .
-
- /**START libraries*/
- if ~show("L","rexxsupport.library") then
- if ~addlib("rexxsupport.library",0,-30) then do
- say "no rexxsupport.library"
- exit
- end
- if ~show("L","rxsocket.library") then
- if ~addlib("rxsocket.library",0,-30) then do
- say "no rxsocket.library"
- exit
- end
- if ~show("L","rmh.library") then
- if ~addlib("rmh.library",0,-30) then do
- say "no rmh.library"
- exit
- end
- /**END libraries**/
-
- if host="" then
- if serv="" then call usage()
- else call findServ(serv)
- else
- if host="?" then call usage()
- else call findHost(host)
-
- /****************************************************************************/
-
- Usage: PROCEDURE
- say "Usage: rxresolve host"
- say " rxresolve -s servicename"
- exit
-
- /****************************************************************************/
-
- findServ: PROCEDURE
- parse arg serv
-
- if DataType(serv,NUM) then res = GetServByPort("SERV",serv,"tcp")
- else res = GetServByName("SERV",serv,"tcp")
-
- if ~res then do
- say "Service <" || serv || "> not found."
- exit
- end
-
- say "service:" serv.servname
-
- if serv.servaliases.num~=0 then do
- say "aliases:"
- do i = 0 to serv.servaliases.num-1
- say " " serv.servaliases.i
- end
- end
-
- say "port:" serv.servport
-
- exit
-
- /****************************************************************************/
-
- findHost: PROCEDURE
- parse arg host
-
- if IsDotAddr(host) then res = GetHostByAddr("HE",host)
- else res = GetHostByname("HE",host)
-
- if ~res then do
- say "Host <" || host || "> not found (" || HostErrorstring(HostErrorNo()) || ")."
- exit
- end
-
- say "host:" he.hostname
-
- if he.hostaliases.num ~= 0 then do
- say "aliases:"
- do i = 0 to he.hostaliases.num-1
- say " " he.hostaliases.i
- end
- end
-
- say "address list:"
- do i = 0 to he.hostaddrlist.num-1
- say " " he.hostaddrlist.i
- end
-
- exit
-
- /****************************************************************************/
-